import { Controller, Get, Res, Param, NotFoundException } from '@nestjs/common';
import { Response } from 'express';
import { join } from 'path';
import { existsSync } from 'fs';

@Controller('/files')
export class FileController {
  @Get('*') // 支持所有子路径
  getFile(@Param() params, @Res() res: Response) {
    const filePath = join(__dirname, '..', 'files', params[0]).replace(
      /(\\dist|\\common)/g,
      '',
    ); // 动态构建文件路径
    // 检查文件是否存在
    if (!existsSync(filePath)) throw new NotFoundException('该资源不存在');
    // 发送文件
    return res.sendFile(filePath);
  }
}
